Úložiště dat v Sorobanu - Ledger Storage
Nejprve => https://discord.com/channels/1039229023487795301/1300160722868768808
Teoritický příklad
V oddílu jsme vytvořili jednoduchou smlouvu, která ukládá a načte data
Smlouvy Soroban mají k dispozici úložiště pro trvalé ukládání dat
Každý kus dat je spojen s klíčem, pomocí kterého se později data načtou
Smlouva může modifikovat pouze svá vlastní data
Všechna uložená data dobu životnosti - TTL
Rozeberme si to detailněji
Víme, jak ukládat a načítat data v rámci Soroban ledgeru
Vytvořili jsme smlouvu, která zvětšuje číslo o jedna a ukládá jeho hodnotu do úložiště - inkrementuje
Klíčem pro uložení této hodnoty je proměnná pojmenovaná COUNTER
Kdykoliv chceme hodnotu čísla načíst, použijeme tuto proměnnou
Uložená data mají také TTL (dobu životnosti) = počet ledgerů
Ledger je záznam v blockchainu - účetní kniha
Pokud TTL není pravidelně prodlužováno, data se "archivují" a nelze je číst
Např. funkci extend_ttl k prodloužení TTL úložiště při každém zvětšení čísla
Dotatečně bychom mohli například
Přidat do smlouvy funkci getcurrentvalue, která vrací aktuální hodnotu čítače
Přidat funkce jako decrement pro dekrementaci čítače nebo reset pro jeho resetování
Jak nasadit smlouvu do Pi?
Smlouva je jakási datová věta, akorát v bajtech
Abychom získali bajty je potřeba sestavit počítačové instrukce, tedy kompilovat - pomocí pinetwork contract build
Abychom ji nahráli do sítě musíme provést instalaci pomocí příkazu pinetwork contract install
Smlouva se musí po instalaci začlenit do oběhu - tedy existovat a existenci zajišťuje v programování nová instance
Abychom řekli, že existuje je potřeba příkaz pinetwork contract deploy
V ten moment se nám z naší smlouvy stane v podstatě konkrétní aplikace tedy smlouva je program
Tím, že existuje získáme její ID s nasazenou smlouvou pomocí příkazu pinetwork contract invoke
Zadáme ID smlouvy a název funkce, kterou chceme spustit